package com.team2.insulatingtools.modular.system.service;

import com.team2.insulatingtools.modular.system.entity.SimpleOrgTreeNode;
import com.team2.insulatingtools.modular.system.entity.ToolsHrOrganization;
import com.team2.insulatingtools.modular.system.pojo.request.ToolsHrOrganizationRequest;

import java.util.List;

/**
 * 新增-组织机构操作逻辑
 * @author yangqian
 * @date 2023-04-05 16:30
 * @description
 **/
public interface OrgService {

    /**
     *获取当前组织机构及下属机构
     * @return
     */
    List<ToolsHrOrganization> getSubOrgByCurrent();

    /**
     *获取当前组织机构及下属机构
     * @return
     */
    List<ToolsHrOrganization> getSubOrg(Long orgId);

    /**
     * 根据当前角色获取组织机构
     * @param speciality 专业
     * @return
     */
    List<ToolsHrOrganization> getOrgsByRole(String speciality);

    /**
     * 根据专业获取组织机构树
     * @param request
     * @return
     */
    List<SimpleOrgTreeNode> getTreeBySpeciality(ToolsHrOrganizationRequest request) ;
}
